package hbt;

import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;

import modelo.Cliente;
import modelo.Coeficiente;
import modelo.Comparativa;
import modelo.CondicionPago;
import modelo.ItemAlmacen;
import modelo.ItemLP;
import modelo.ItemOC;
import modelo.ItemRemito;
import modelo.ItemSC;
import modelo.ListaPrecios;
import modelo.OrdenCompra;
import modelo.Proveedor;
import modelo.Remito;
import modelo.Rodamiento;
import modelo.SolicitudCotizacion;
 
public class HibernateUtil
{
    private static final SessionFactory sessionFactory;
    static
    {
        try
        {
        	 AnnotationConfiguration config = new AnnotationConfiguration();
        	 config.addAnnotatedClass(Coeficiente.class);
        	 config.addAnnotatedClass(Cliente.class);
             config.addAnnotatedClass(SolicitudCotizacion.class);
             config.addAnnotatedClass(ItemSC.class);
             config.addAnnotatedClass(CondicionPago.class);
             config.addAnnotatedClass(Proveedor.class);
             config.addAnnotatedClass(Remito.class);
             config.addAnnotatedClass(ItemRemito.class);
             config.addAnnotatedClass(ListaPrecios.class);
             config.addAnnotatedClass(ItemLP.class);
             config.addAnnotatedClass(OrdenCompra.class);
             config.addAnnotatedClass(ItemOC.class);
             config.addAnnotatedClass(ItemAlmacen.class);
             config.addAnnotatedClass(Rodamiento.class);
             config.addAnnotatedClass(Comparativa.class);
             
             sessionFactory = config.buildSessionFactory();
        }
        catch (Throwable ex)
        {
            System.err.println("Problemas con Base de Datos: " + ex);
            throw new ExceptionInInitializerError(ex);
        }
    }
 
    public static SessionFactory getSessionFactory()
    {
        return sessionFactory;
    }
}
